package com.FileIo;


import java.io.*;
import java.util.ArrayList;
import java.util.List;

class House implements Serializable {

}
class Animal implements Serializable{
    private String name;
    private House preferredHouse;

    public Animal(String name, House preferredHouse) {
        this.name = name;
        this.preferredHouse = preferredHouse;
    }

    @Override
    public String toString() {
        return name+"["+super.toString()+"],"+preferredHouse+"\n";
    }
}
/**
 * @author 13699
 */
public class MyWorld {
    public static void main(String[] args)
            throws IOException,ClassNotFoundException {
        House house=new House();
        List<Animal> animals=new ArrayList<>();
        animals.add(new Animal("Bosco the dog ",house));
        animals.add(new Animal("Ralph the hamster",house));
        animals.add(new Animal("Molly the cat",house));
        System.out.println("animals:"+animals);
        ByteArrayOutputStream buf1=new ByteArrayOutputStream();
        ObjectOutputStream o1=new ObjectOutputStream(buf1);
        o1.writeObject(animals);
        o1.writeObject(animals);
        ByteArrayOutputStream buf2=new ByteArrayOutputStream();
        ObjectOutputStream o2=new ObjectOutputStream(buf2);
        o2.writeObject(animals);
        ObjectInputStream in1=new ObjectInputStream(
                new ByteArrayInputStream(buf1.toByteArray()));
        ObjectInputStream in2=new ObjectInputStream(
                new ByteArrayInputStream(buf2.toByteArray()));
    }
}
